package cloud.tianai.ram.policy.core.condition;

import cloud.tianai.ram.policy.core.action.Action;

/**
 * @Author: 天爱有情
 * @date 2022/3/7 11:58
 * @Description 条件处理器
 */
public interface ConditionHandler {

    /**
     * 判断该条件是否成立
     *
     * @param condition 条件
     * @param conditionHandlerManager
     * @param action
     * @return boolean
     */
    boolean match(Condition condition, ConditionHandlerManager conditionHandlerManager, Action action);

    /**
     * 获取操作类型
     *
     * @return Collection<String>
     */
    String getType();

    /**
     * 获取描述信息
     *
     * @return String
     */
    String getDescription();
}
